#include "FastLED.h"            // 此示例程序需要使用FastLED库
#define NUM_LEDS 256             // LED灯珠数量
#define DZ1 25              // Arduino输出控制信号引脚 长点阵控制引脚
#define DD1 33              // 上灯带控制引脚（四边形）
#define DIN1 26             // 振动传感器的数字输入引脚
// #define DZ1 25              // Arduino输出控制信号引脚
#define LED_TYPE WS2812B         // LED灯带型号
#define COLOR_ORDER GRB         // RGB灯珠中红色、绿色、蓝色LED的排列顺序
/////声明函数区////////
// void lt(int num);

uint8_t max_bright = 4;       // LED亮度控制变量，可使用数值为 0 ～ 255， 数值越大则光带亮度越高
CRGB leds_DZR[NUM_LEDS];            // 建立点阵leds
//CRGB leds_DD1[NUM_LEDS];            // 建立点阵leds
// 初始化函数
void setup() {
  pinMode(DIN1, INPUT_PULLDOWN);                                  // 设置数字端口2为输入模式
  LEDS.addLeds<LED_TYPE, DZ1, COLOR_ORDER>(leds_DZR, NUM_LEDS);   // 初始化点阵
  //LEDS.addLeds<LED_TYPE, DD1, COLOR_ORDER>(leds_DD1, NUM_LEDS);   // 初始化点阵
  FastLED.setBrightness(max_bright);                              // 设置灯带亮度
}
void lt(int num)
{
  leds_DZR[num] = CRGB::Red;
}
void ltd(int num)
{
  leds_DZR[num] = CRGB::Black;
}
void lt_lot(int num1,int num2,int num3,int num4,int num5,int num6,int num7,int num8,int num9,int num10,int num11,int num12,int num13)
{
  leds_DZR[num1] = CRGB::Red;
  leds_DZR[num2] = CRGB::Red;
  leds_DZR[num3] = CRGB::Red;
  leds_DZR[num4] = CRGB::Red;
  leds_DZR[num5] = CRGB::Red;
  leds_DZR[num6] = CRGB::Red;
  leds_DZR[num7] = CRGB::Red;
  leds_DZR[num8] = CRGB::Red;
  leds_DZR[num9] = CRGB::Red;
  leds_DZR[num10] = CRGB::Red;
  leds_DZR[num11] = CRGB::Red;
  leds_DZR[num12] = CRGB::Red;
  leds_DZR[num13] = CRGB::Red;
}
void loop()
{
  //eds_DZR[0] = CRGB::Green;
  //fill_solid(leds_DZR, 5, CRGB::Blue);

///////////////////////////ceshi/////////////////////////
  // fill_solid(leds_DZR,1,CRGB::Orange);
  // FastLED.show();
///////////////////////////ceshi/////////////////////////

  fill_solid(leds_DZR,256,CRGB::Black);
  fill_solid(leds_DZR,15,CRGB::Black);
  
  for(int i=0;i<=6;i++)
  {
    lt_lot(18+32*i,19+32*i,20+32*i,21+32*i,22+32*i,23+32*i,24+32*i,25+32*i,26+32*i,27+32*i,28+32*i,29+32*i,30+32*i);
    lt_lot(33+32*i,34+32*i,35+32*i,36+32*i,37+32*i,38+32*i,39+32*i,40+32*i,41+32*i,42+32*i,43+32*i,44+32*i,45+32*i);
  }
  lt(1);lt(13);
  lt(145);lt(174);lt(177);lt(176);lt(207);
  
  for(int i=0;i<=6;i++)
    ltd(22+i);
  ltd(36);ltd(37);ltd(58);
  for(int i=0;i<=1;i++)
  {
    ltd(131+i*32);ltd(132+i*32);ltd(133+i*32);ltd(154+i*32);ltd(155+i*32);ltd(156+i*32);
  }
  ltd(99);ltd(123);ltd(124);
  for(int i=0;i<=4;i++)
  {
    ltd(82+i);ltd(105+i);ltd(75+i);ltd(112+i);ltd(139+i);ltd(213+i);ltd(230+i);
  }
  ltd(87);ltd(229);ltd(235);ltd(200);ltd(201);ltd(78);ltd(205);ltd(206);ltd(210);ltd(237);ltd(222);ltd(225);ltd(226);
  lt(115);lt(140);lt(141);lt(217);
  FastLED.show();


  //fill_solid(leds_DZR,206,CRGB::Orange);
}